View Javadoc

1   package org.saf.struts;
2   
3   import org.apache.struts.action.Action;
4   import org.apache.struts.action.ActionForm;
5   import org.apache.struts.action.ActionForward;
6   import org.apache.struts.action.ActionMapping;
7   import org.apache.struts.action.ActionServlet;
8   import org.apache.struts.config.ModuleConfig;
9   import org.apache.struts.tiles.TilesRequestProcessor;
10  
11  import org.saf.struts.util.RequestProcessorUtils;
12  
13  import java.io.IOException;
14  
15  import javax.servlet.ServletException;
16  import javax.servlet.http.HttpServletRequest;
17  import javax.servlet.http.HttpServletResponse;
18  
19  
20  public class SafTilesRequestProcessor extends TilesRequestProcessor {
21      private RequestProcessorUtils requestProcessorUtils = null;
22  
23      public void init(ActionServlet actionServlet, ModuleConfig moduleConfig)
24          throws ServletException {
25          super.init(actionServlet, moduleConfig);
26          requestProcessorUtils = new RequestProcessorUtils(actionServlet,
27                  moduleConfig);
28      }
29  
30      protected ActionForward processActionPerform(HttpServletRequest request,
31          HttpServletResponse response, Action action, ActionForm form,
32          ActionMapping mapping) throws IOException, ServletException {
33          ActionForward forward = null;
34          requestProcessorUtils.doBeforeAuthorization(action, mapping, form,
35              request, response);
36  
37          if (requestProcessorUtils.isAuthorized(action, mapping, form, request,
38                      response)) {
39              requestProcessorUtils.doAfterAuthorization(action, mapping, form,
40                  request, response);
41              forward = super.processActionPerform(request, response, action,
42                      form, mapping);
43          } else {
44          	forward = requestProcessorUtils.doAfterAuthorizationFailed(action, mapping,
45                  form, request, response);
46          }
47  
48          return forward;
49      }
50  }